Repository navigation
docs(postgres): state libpq client floor (>=17) and client-vs-server distinction (closes #223) - #244
Merged
Merged
Conversation
…istinction; name floor in spec pending message (#223)
There was a problem hiding this comment.
🟢 Approval recommended
There are no active review issues for the changes clarifying PostgreSQL client-library requirements and server compatibility.
No open issues 🎉
What changed in this PR
Clarifies that Lunet’s PostgreSQL driver requires libpq client library 17+ at build/load time, while PostgreSQL 16 servers remain compatible. This documents the existing requirement without changing driver behavior.
Changes:
- Explains the client-versus-server version distinction in the driver README and English/Chinese release-layout install comments.
- Updates the PostgreSQL spec’s pending message to highlight the client requirement and point to troubleshooting documentation.
| File | Description |
|---|---|
spec/postgres_spec.lua |
Adds the libpq client requirement and README pointer to the pending message. |
ext/postgres/README.md |
Clarifies that the client version floor does not require a PostgreSQL 17+ server. |
docs/RELEASE-LAYOUT.md |
Updates install comments with client requirements and server compatibility. |
docs/RELEASE-LAYOUT-CN.md |
Mirrors the install-comment clarification in the Chinese document. |
Review effort: Balanced
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #223.
What
ext/postgres/README.md: add the client-vs-server distinction — the floor is on the libpq client library at build/load time, not on the PostgreSQL server version. A libpq 17+ client talks to a pg16 server (e.g. Scaleway serverless Postgres) without issue.docs/RELEASE-LAYOUT.md/docs/RELEASE-LAYOUT-CN.md: install comments now read "requires libpq CLIENT >= 17; server can be pg16+".spec/postgres_spec.lua: the "not built" pending message now names the libpq client floor as the likely cause and points at the README (closes the CI blind spot where the build's|| trueswallowed the real error).Evidence
Compile-time guard already exists in
ext/postgres/postgres.c(lines 4-11:#error "lunet postgres driver requires libpq client library >= 17"whenPG_VERSION_NUM < 170000). Verified it fires on a libpq 16 host: in an ubuntu:24.04 container (libpq-dev 16.15) compilingext/postgres/postgres.caborts at line 11 with the named error.Compat matrix, pg16 server leg (the Scaleway target of record): built the driver against the host libpq (17+, Homebrew) and ran open / query / prepare / stmt:query / stmt:close (PQclosePrepared round-trip) / exec+query roundtrip / close against a postgres:16 container on 127.0.0.1:55432 — all OK. The PQclosePrepared path that motivated the floor works against a pg16 server.
Refs
Ticket 216.
Need help on this PR? Tag
@codesmith-botwith what you need.